.form-ico {
    .input-group {
        position: relative;
        line-height: $lineHeight;
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="url"] {
            padding-left: $lineHeight;
            height: $lineHeight;
            width: 100%;
            box-sizing: border-box;
        }
        .fa {
            position: absolute;
            left: 10px;
            top: 9px;
        }
        &.error {
            input {
                border: 1px solid $danger;
            }
            .fa {
                color: $danger;
            }
        }
        .checkbox {
            position: relative;
            display: inline-block;
            width: $lineHeight;
            height: $lineHeight;
            input[type=checkbox] {
                visibility: hidden;
                &:checked {
                    &+label {
                        &::before {
                            content: "\f14a";
                            color: $primary;
                        }
                    }
                }
            }
            label {
                &::before {
                    font-family: "Font Awesome 5 Free";
                    font-size: inherit;
                    text-rendering: auto;
                    -webkit-font-smoothing: antialiased;
                    content: "\f0c8";
                    position: absolute;
                    left: 10px;
                    top: 0;
                }
            }
        }
    }
}
.btn {
    padding: 0 30px;
    background: $primary;
    border: none;
    display: inline-block;
    text-decoration: none;
    line-height: 30px;
    margin: 0 8px;
    vertical-align:middle;
    &.btn-full {
        width: 100%;
        margin: 0;
    }
    &.btn-danger {
        color: #fff;
        background-color: #d9534f;
        border-color: #d43f3a;
    }
    &.btn-primary {
        color: #fff;
        background-color: #337ab7;
        border-color: #2e6da4;
    }
}

.checkbox {
    position: relative;
    display: inline-block;
    width: $lineHeight;
    height: $lineHeight;
    input[type=checkbox] {
        visibility: hidden;
        &:checked {
            &+label {
                &::before {
                    content: "\f14a";
                    color: $primary;
                }
            }
        }
    }
    label {
        &::before {
            font-family: "Font Awesome 5 Free";
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            content: "\f0c8";
            position: absolute;
            left: 10px;
            top: 0;
        }
    }
}
.check-toggle {
    input[type=checkbox] {
        display: none;
        &:checked {
            &+label {
                &::before {
                    left: 20px;
                }
                &::after {
                    background: #4cda60;
                    box-shadow: 0 0 1px #4cda60;
                }
            }
        }
    }
    label {
        cursor: pointer;
        background-color: #fafbfa;
        border-radius: 50px;
        display: inline-block;
        position: relative;
        margin-right: 30px;
        transition: all 0.1s ease-in;
        width: 40px;
        height: 22px;
        &::before,
        &::after {
            content: ' ';
            position: absolute;
            border-radius: 100px;
        }
        &::before {
            background: white;
            top: 1px;
            left: 1px;
            z-index: 1;
            width: 20px;
            transition: all 0.1s ease-in;
            height: 20px;
            box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
        }
        &::after {
            top: 0;
            transition: box-shadow 0.1s ease-in;
            left: 0;
            width: 100%;
            height: 100%;
            box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
        }
    }
}

.check-label,
.radio-label {
    input[type=checkbox],
    input[type=radio] {
        display: none;
        &:checked {
            &+label {
                background-color: #3498db;
                color: #ffffff;
                &::before {
                    content: "\f00c";
                }
            }
        }
    }
    label {
        cursor: pointer;
        padding: 0 10px 0 30px;
        margin-top: 2px;
        display: inline-block;
        position: relative;
        line-height: 25px;
        background-color: #eaeaea;
        color: #a7a7a7;
        &::before {
            font-family: "Font Awesome 5 Free";
            content: "\f111";
            position: absolute;
            font-weight: 900;
            left: 8px;
            top: 1px;
        }
    }
}

i {
    &.checkbox {
        text-align: center;
        line-height: $lineHeight;
        &::before {
            font-family: "Font Awesome 5 Free";
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            content: "\f0c8";
        }
        &.checked {
            &::before {
                content: "\f14a";
                color: $primary;
            }
        }
    }
}
.form-horizontal {
    line-height: $lineHeight;
    .input-group {
        display: inline-block;
        border-bottom: 1px solid #777;
        height: $lineHeight;
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="url"], 
        input[type="number"],
        select {
            border: none;
            background: transparent;
            height: $lineHeight;
            box-sizing: border-box;
        }
    }
    .btn {
        line-height: $lineHeight;
    }
}

.form-inline {
    .input-group {
        display: block;
        border-bottom: 1px solid #777;
        min-height: $lineHeight;
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="url"], 
        input[type="number"], 
        select,
        textarea {
            border: none;
            background: transparent;
            height: $lineHeight;
            box-sizing: border-box;
            &.height-auto {
                height: auto;
            }
        }
        
    }
    .btn {
        line-height: $lineHeight;
        margin-top: 8px;
    }
}

.form-default {
    .input-group {
        display: block;
        border-bottom: 1px solid #777;
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="url"], 
        select {
            border: none;
            background: transparent;
            box-sizing: border-box;
            height: $lineHeight;
            display: block;
        }
        textarea {
            width: 100%;
            display: block;
            border: none;
            background: transparent;
            box-sizing: border-box;
        }
    }
    .btn {
        line-height: $lineHeight;
        margin-top: 8px;
    }
}

.form-table {
    .input-group {
        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="password"],
        input[type="url"],
        input[type="number"] {
            height: $lineHeight;
            min-width: 200px;
        }
        select {
            height: $lineHeight;
            min-width: 100px;
        }
        textarea {
            min-width: 200px;
            min-height: $lineHeight * 3 
        }
        >label:first-child {
            width: 25%;
            float: left;
            display: block;
            text-align: right;
            line-height: $lineHeight;
            padding: 0 10px;
        }        
        >div {
            width: 70%;
            float: left;
            textarea {
                width: 100%;
                resize: vertical;
            }
            

            .inline {
                line-height: $lineHeight;
                min-width: 100px;
                display: inline-block;
            }

            .input-desc {
                display: block;
                font-size: 12px;
                color: #767676;
                margin-bottom: 8px;
            }
            // label {
            //     padding: 0 8px;
            //     line-height: 30px;
            // }
        }
        &:after {
            content: "";
            display: table;
            clear: both;
        }
    }
    .file-input {
        button {
            padding: 0 10px;
            line-height: 30px;
            border: none;
            background: #000;
            color: #fff;
        }
    }
    .actions {
        text-align: center;
        &.fixed {
            position: fixed;
            right: 0;
            top: 0;
            z-index: 99;
        }
        .btn {
            line-height: $lineHeight;
        }
    }
}